package com.sat.client.vm

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.sat.client.app.GlobalData
import com.sat.client.bean.FileItem
import com.sat.client.bean.FileItemUtils
import com.sat.common.base.BaseViewModel
import com.sat.common.base.SingleLiveEvent

class FilesFragmentVM : BaseViewModel() {
    private val _currentFileItem: SingleLiveEvent<FileItem> = SingleLiveEvent<FileItem>()
    val currentFileItem: LiveData<FileItem> = _currentFileItem

    fun updateFileItem(fileItem: FileItem) {
        _currentFileItem.postValue(fileItem)
    }

    /**
     * 切换到某目录
     */
    fun changeDir(path: String) {
        GlobalData.fileItem?.run {
            FileItemUtils.findFileItemByPath(this, path)?.let {
                updateFileItem(it)
            }

        }

    }

    /**
     * 返回上一级目录
     */
    fun backLastDir(): Boolean {
        GlobalData.fileItem?.run {
            currentFileItem.value?.let { item->
                FileItemUtils.getParentFileItem(this, item)?.let {
                    updateFileItem(it)
                    return true
                }
            }

        }
        return false
    }


}
